Multicasting refers to the ability by a single device to send packet data to multiple endpoints (or “stations” in wireless local area network (WLAN) terminology) by the use of a multicast address. A communication system that implements multicasting is referred to as a multicast communication system. In such a system, the endpoints desiring to receive packets for a particular call, send join messages to the system. When packets are sent to the multicast address, each device forwards the packet to each endpoint that is a member of the multicast address. For reliability, each endpoint may then acknowledge receipt of the packet.
A problem that arises in reliable multicast communication systems is that if the multicast group is large, then the number of acknowledgements sent in the communications system may flood the system and is described by a well known ACK implosion effect (as is known in the art). Having a large number of acknowledgements flood the communications system degrades system performance. In such a case, acknowledgements may be lost and if acknowledgements are lost, retransmissions need to occur. If a large number of retransmissions are needed, then system performance is negatively impacted. Thus, it would be desirable to reduce the number of acknowledgements that flood the system.
Accordingly, there is a need for an improved method of reliable multicasting.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.